package ru.pb.game.network.engine.client.packets;

import ru.pb.game.network.clients.GameClient;
import ru.pb.game.objects.model.players.Player;
import ru.pb.global.network.engine.packets.ClientPacket;

/**
 * @author: Felixx
 */
public abstract class FromClientToGameServerPacket extends ClientPacket<GameClient>
{
	@Override
	public String toString()
	{
		return "[C -> GS] " + getPacketName();
	}

	public Player getPlayer()
	{
		return getClient() != null ? getClient().getPlayer() : null;
	}

	protected static String bytesToHex(byte[] bytes)
	{
		final char[] hexArray = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
		char[] hexChars = new char[bytes.length * 2];
		int v;
		for(int j = 0; j < bytes.length; j++)
		{
			v = bytes[j] & 0xFF;
			hexChars[j * 2] = hexArray[v >>> 4];
			hexChars[j * 2 + 1] = hexArray[v & 0x0F];
		}
		return new String(hexChars);
	}
}